﻿// JavaScript File

var BrowerType = "MSIE";              //记录浏览器的类型；

//用户相关信息
var USER_NAME = "";                 //用户姓名
var USER_DISTRICT_ID = "";          //用户权限对应的地区ID
var USER_DISTRICT_NAME = "";        //用户权限对应的地区名称
var USER_ROLE_INDEX = "";           //用户的角色代码 
var USER_STATUS = "";               //用户帐号的状态
var USER_LAT = "";                  //用户所对应地区的中心纬度
var USER_LNG = "";                  //用户所对应地区的中心经度
var USER_EMAIL="";                  //用户EMAIL

var lastMapType = "GMAP";           //记录上一地图的类型（主要用于图例生成的前后保持原有的地图类型）
var MAP_TYPE = "GMAP";              //记录当前地图的类型，//GMAP             google map
                                                         //GIMAGE           google sattlelet
                                                         //IMSMAP           IMS Map & google Map 
                                                         //IMSLEGEND        IMS Legend
                                                         //IMSMAPONLY          IMSMap Only(不显示google地图)


var flagMenu = true;                //用于判断菜单div的显示状态
var flagWizard = true;             //用于判断Wizard div的显示状态
var addPoint = true;                    //用于判断是否记录鼠标点击的位置
var rightClickResponse = false;          //用于判断是否点击了鼠标鼠标右键

var markerPoints = new Array();         //用于记录鼠标点击采样点的坐标数组

var gmap; //Google地图对象
var imsOverlay; //作为GOverlay叠加在gmap上的Ims地图对象

//记录鼠标拖移地图时的起始和终止点。
var StartX;
var StartY;
var EndX;
var EndY;



//判断浏览器类型
function getBrowserType()
{ 
//var OsObject = ""; 
if(navigator.userAgent.indexOf("MSIE")>0) { return "MSIE"; } 
if(isFirefox=navigator.userAgent.indexOf("Firefox")>0){ return "Firefox"; } 
if(isSafari=navigator.userAgent.indexOf("Safari")>0) { return "Safari"; } 
if(isCamino=navigator.userAgent.indexOf("Camino")>0){ return "Camino"; } 
if(isMozilla=navigator.userAgent.indexOf("Gecko")>0){ return "Gecko"; } 
}



//创建鼠标右击时的contextMenu
////////////////////////////////////////////////////////////
var contextmenu = document.createElement("div");
var menu1 = document.createElement("input");
menu1.type = "button";
menu1.value = "结束选点";
menu1.id = "end";
$(menu1).bind("click",function(){
    contextmenu.style.visibility = "hidden"; 
    loadMousePointTable();
});
//try{
//    menu1.attachEvent("onclick",function(){
//        contextmenu.style.visibility = "hidden"; 
//        loadMousePointTable();
//        });
//        
//        //将markerPoints作为参数传递到web服务，以调用RSIndex计算。
//    }catch(err)
//    {
//        menu1.addEventListener("click",function(){
//            contextmenu.style.visibility = "hidden"; 
//            loadMousePointTable();},false);
//}
//});
contextmenu.appendChild(menu1);  
////////////////////////////////////////////////////////////



//-------------------------------------------------------
//   Yang Xiaodong
//   IRSA, CAS
//-------------------------------------------------------
//Class     :DataTable
//Purpose   :provides a table class
//-------------------------------------------------------
//Calls     :
//Called by :
//-------------------------------------------------------
//Arguments :ID             the id attribute of the table
//           cssStyle       the css class of the table   
//           tableTitles    the Column or Row titles of table
//           tableValues    A 2 dimension Array to represent values in table
//           alignDirect    the title align direct of table, 0 is horizontal or titles in coloumns, 1 is vertical or titles in rows
//Globals   :
//Returns   :
//-------------------------------------------------------
//Notes     :
//-------------------------------------------------------
//History   :
//=======================================================


var DataTable = function(tableTitles, tableValues,alignDirect)
{
    var table = document.createElement("table");
    var tbody = document.createElement("tbody");
    table.appendChild(tbody);
    
    if (alignDirect == 0)         //Columns Mode
    {
        var nColumns = tableTitles.length;
        var nRows = tableValues.length + 1;
        for (var i = 0; i < nRows; i++)
        {
            tbody.insertRow(i);
            for (var j = 0; j < nColumns; j++)
            {
                tbody.rows[i].insertCell(j);
                if (i == 0)
                {
                    tbody.rows[i].cells[j].appendChild(tableTitles[j]);
                }
                else
                {
                    tbody.rows[i].cells[j].appendChild(tableValues[i-1][j]);
                }
            }
        }
    }
    else if(alignDirect == 1)                       //Rows Mode
    {
        var nRows = tableTitles.length;
        var nColumns = tableValues.length + 1;
        for(var i = 0; i < nRows; i++)
        {
            tbody.insertRow(i);
            for (var j = 0; j < nColumns; j++)
            {
                tbody.rows[i].insertCell(j);
                //tbody.rows[i].cells[j].setAttribute("align", "left");
                if (j == 0)
                {
                    tbody.rows[i].cells[j].appendChild(tableTitles[i]);
                }
                else
                {
                    tbody.rows[i].cells[j].appendChild(tableValues[j-1][i]);
                }
            }
        }
    }
    else if (alignDirect == 2)                      //标题在第一行，后续每行添加一组数据，数据以标题类型组织，类似于数据库中的表格方式
    {
        var nRows = tableValues[0].length + 1;// tableTitles.length;
        var nColumns = tableTitles.length;//tableValues.length + 1;
        for (i = 0; i < nRows; i++)
        {
            tbody.insertRow(i);
            for (j = 0; j < nColumns; j++)
            {
                tbody.rows[i].insertCell(j);
            }
        }
        
        for(i = 0; i < nColumns; i++)
        {
            for (j = 0; j < nRows; j++)
            {
                if (j == 0)
                {
                    tbody.rows[j].cells[i].appendChild(tableTitles[i]);
                }
                else
                {
                    tbody.rows[j].cells[i].appendChild(tableValues[i][j-1]);
                }
            }
        }
        
    }
    return table;
}



/*
** 返回一个XMLHttpRequest 对象
*/
function createRequest() 
{
    var request;
    try {
        request = new XMLHttpRequest();
    } catch (trymicrosoft) {
        try {
            request = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (othermicrosoft) {
            try {
                request = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (failed) {
                request = false;
            }
        }
    }
    if (!request)
        alert("Error initializing XMLHttpRequest!");
    return request;
}


//加载Xml文件
function LoadXML(src){
    var xmlDoc;
    if (window.ActiveXObject)
    {
        xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
        xmlDoc.async=false;
        xmlDoc.load(src);
//        return xmlDoc;
    }
    // code for Mozilla, Firefox, Opera, etc.
    else if (document.implementation && document.implementation.createDocument)
    {
        xmlDoc=document.implementation.createDocument("","doc",null);
        xmlDoc.load(src);
//        return xmlDoc;
    }
    else
    {
        alert('Your browser cannot handle this script! Please try it in IExplorer!');
//        return xmlDoc;
    } 
    return xmlDoc;	
}


//将GLatLng点转换成ddmmss格式的点
function tranGLatLngToDMS(GLatLng)
{
//    var DLng,DLat,MLng,MLat,SLng,SLat;
    var Lng = GLatLng.x;
    var Lat = GLatLng.y;
    
//    DLng = Lng.split('.')[0];
//    DLat = Lat.split('.')[0];
//    
//    MLng = Math.floor(Lng.split('.')[1] * 60);
//    MLat = Math.floor(Lat.split('.')[1] * 60);
//    
//    SLng = Math.round((Lng.split('.')[1] - MLng/60)*36000)/10;
//    SLat = Math.round((Lat.split('.')[1] - MLat/60)*36000)/10;
    
    var dmsPoint = new Array();
    dmsPoint[0] = DLng + ""
    
  	var DLng = Math.floor(Lng);
	var MLng = Math.floor((Lng - DLng) * 60);
	var SLng = Math.round(((Lng - DLng) * 60 - MLng) * 6000)/100;    //秒位精度保留到小数点后两位
	var DLat = Math.floor(Lat);
	var MLat = Math.floor((Lat - DLat) * 60);
	var SLat = Math.round(((Lat - DLat) * 60 - MLat) * 6000)/100;    //秒位精度保留到小数点后两位
	
    var dmsPoint = new Array();
    dmsPoint[0] = DLng + "°" + MLng + "′" + SLng + '″';
    dmsPoint[1] = DLat + "°" + MLat + "′" + SLat + '″';
    
    return dmsPoint;
	
//	m_txtXCoord.value = "经度: " + dx + "°" + fx + "′" + mx + '″';
//	m_txtYCoord.value = "纬度: " + dy + "°" + fy + "′" + my + '″';
    
    
}



function showWaitImage() {
	document.getElementById("busyPic").style.visibility = 'visible';
}

function hideWaitImage() {
    //m_zbxZoom.hide();
    document.getElementById("busyPic").style.visibility = 'hidden';
}